查看原文
其他

又一个新项目搞完啦!!!

鱼皮 程序员鱼皮 2023-07-23

大家好,我是鱼皮。

我在自己的编程导航内的第 4 个全程直播开发的项目 ——  聚合搜索平台,完结啦!

我在这里对该项目做一个简单的总结,希望让更多需要它的同学看到,把它变成自己的项目~

项目简介

这次做的是一个突击型项目,基于 Vue 3 + Spring Boot + Elastic Stack 的一站式聚合搜索平台,也是简化版的企业级搜索中台。

对用户来说,使用该平台,可以在同一个页面集中搜索出不同来源、不同类型的内容,提升用户的检索效率和搜索体验。

对企业来说,当企业内部有多个项目的数据都存在搜索需求时,无需针对每个项目单独开发搜索功能,可以直接将各项目的数据源接入搜索中台,从而提升开发效率、降低系统维护成本。

放一些项目截图,前端部分其实很简单~

聚合搜索页面 - 搜文章:

聚合搜索页面 - 搜图片:

聚合搜索页面 - 搜用户:

Elastic Stack - Kibana 数据看板:

项目架构图:

此外,这个项目中还应用到了鱼皮提供的万用后端项目模板,熟练之后,几分钟开发一个新功能真的轻轻松松!

感兴趣的同学可以免费试看第一期项目回放:https://www.bilibili.com/video/BV1ks4y1V7jC

项目特点和收获

1)本项目选用 Vue 3 + Spring Boot 2.7 新版本实现,包含完整的前后端,从需求分析、技术选型、系统设计、前后端开发再到最后上线,整个项目的制作过程为全程直播

2)项目选题新颖,不是电商、不是管理系统、不是博客论坛,而是企业架构层面的 通用搜索能力 的抽象,做完这个项目后,之后你自己在做任何业务系统时,都可以 复用 这次开发的搜索能力。

3)项目中会带大家学习和实战:多种数据爬虫方法、4 种数据同步方法、接口优化(运用了多种设计模式)、Elastic Stack(Elasticsearch 搜索引擎、Kibana 看板)、压力测试等一系列知识。

4)除了学做项目之外,鱼皮还在直播过程中聊到了不少知识点,帮助大家提升架构设计思维、学会对比方案、阅读文档的套路;所有 Bug 和问题均为直播解决,带大家提升自主排查问题、解决 Bug 的能力。(课程中鱼皮还演示了一小下 ChatGPT 的使用)

5)项目总耗时不长,主打的是快速带大家学习新技术并直接实践运用,并且鱼皮已经整理好了这个项目可以写在简历上的亮点,成为简历上的亮眼项目。

本项目适合的同学

本项目前后端都有,但更侧重后端,重点讲了几种数据抓取方式、使用几种设计模式来优化接口、Elasticsearch 搜索引擎从 0 到 1 的应用、4 种数据同步方式等。

如果你学习过后端开发技术(比如 Java Web),希望做一个区别于管理系统的、有亮点的、写在简历上加分的项目,并提升自己的编程和架构设计能力,那么非常欢迎来学习!

当然,如果你是前端,也可以通过这个项目学习到一些前端开发的小技巧(比如页面状态同步),但是最好学习过 Vue 或 React 等至少一门开发框架。

再介绍下这个项目用到的技术,都是主流的~

技术选型(全栈项目)

前端

  • Vue 3
  • Ant Design Vue 组件库
  • 页面状态同步开发

后端

  • Spring Boot 2.7 框架 + springboot-init 脚手架
  • MySQL 数据库(8.x 版本)
  • Elastic Stack
    • Elasticsearch 搜索引擎(重点)
    • Logstash 数据管道
    • Kibana 数据可视化
  • 数据抓取(jsoup、HttpClient 爬虫)
    • 离线
    • 实时
  • 设计模式
    • 门面模式
    • 适配器模式
    • 注册器模式
  • 数据同步(4 种同步方式)
    • 定时
    • 双写
    • Logstash
    • Canal
  • JMeter 压力测试

再列举下项目的大纲,这只是其中让我印象比较深刻的关键环节,直播过程中还讲了很多平时大家自己看视频根本学不到的做项目经验和编码技巧,比如怎么又稳又快地自学一个新技术。

项目大纲

  1. 项目介绍和计划
  2. 需求分析
  3. 技术选型、业务流程、系统架构介绍
  4. 前端项目初始化
    1. 前端脚手架使用
    2. 框架、组件库、请求库整合
  5. 后端项目初始化
    1. Spring Boot 万用模板介绍和使用
  6. 前端聚合搜索页面开发
  7. 前后端联调
  8. 多数据源获取(包含几种爬虫方式的讲解和实践)
    1. JSoup 离线抓取
    2. HttpClient 实时抓取
  9. 聚合搜索业务场景分析
  10. 聚合搜索接口开发
    1. 门面模式讲解
    2. 性能测试
  11. 搜索接口优化
    1. 统一标准
    2. 适配器模式
    3. 注册器模式
  12. 前端搜索接口调用优化
  13. 从 0 开始学习 Elastic Stack
    1. Elasticsearch 概念及倒排索引原理
    2. Elasticsearch / Kibana 安装
    3. Elasticsearch + Kibana Dev Tools 入门实践
    4. Elasticsearch 调用方式讲解
  14. ES 搜索引擎实战
    1. 几种 Java 客户端操作方式讲解
    2. ES 标准开发流程实战
    3. 动静分离
  15. 数据同步(4 种同步方式)
    1. 定时
    2. 双写
    3. Logstash
    4. Canal
  16. Kibana 搭建看板
  17. JMeter 接口性能测试
  18. 项目扩展点

项目资料

我们整理好了项目完整源代码、详细的直播笔记和直播大纲,便于大家交流学习。

最关键的是,鱼皮已经整理好了这个项目的简历写法和亮点(也就接近 30 个吧),做完项目后就能直接填满简历!

简历写法文档和助学资料

因为项目是在我的 编程知识星球 内直播做的,所以自然不能给大家免费发放啦。(要不然又成为一个泛滥的项目了)

大家如果对这个项目感兴趣,欢迎加入我的星球,加入后可以跟着后续的直播做新项目、随时观看超清完整的全部直播回放、完整的项目笔记以及踩坑指南、最新的项目源码等。

最关键的是:做项目的过程中,有任何问题,都可以和大家一起交流或者直接加微信向鱼皮提问

星球里每个项目都有独立的交流群:

星球项目交流群

已经有不少小伙伴学起来了,还有很多大家自发整理的笔记。不得不说,做项目真的给了很多同学一个坚持学习的目标,大家的动力也更足了!

关于编程导航知识星球,我已经运营了一年多了,就不过多地介绍了,感兴趣的同学可以访问 https://yupi.icu 来了解详情。

假期送大家一张 9 折优惠券,可以直接长按下方海报扫码领券加入(3 天内不满意可全额退款),欢迎大家:

微信扫码领券加入

往期推荐

我单方面宣布,自己是 ChatGPT 程序员

刚进公司就负责项目,把老弟整蒙了

我的新网站上线了!而且这次的制作方式有点不同。。。

API开放平台项目

伙伴匹配系统项目

用户中心项目

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存